Thierry Phénix & Ladislas Nalborczyk
17 mars 2018
Ce cours est grandement inspiré des livres suivants:
Le blog de Solomon Kurz : https://bookdown.org/content/1850/
Les slides, données et scripts seront disponibles (après chaque séance) sur Github : https://github.com/lnalborczyk/IMSB2019_UNIL
Objectifs généraux (théoriques)
Objectifs pratiques
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Une probabilité est une mesure (valeur numérique) assignée à un événement \( A \), appartenant à l'univers \( \Omega \) (l'ensemble de toutes les issues possibles). Les probabilités se conforment aux axiomes suivants (le troisième axiome est uniquement valide pour des événements mutuellement exclusifs):
Le dernier axiome est également connu comme la règle de la somme, et peut se généraliser à des événements non nécessairement mutuellement exclusifs: \( P(A_{1} \lor A_{2}) = P(A_{1}) + P(A_{2}) - P(A_{1} \land A_{2}) \).
Quelle est la probabilité…
Est-ce qu'il s'agit, pour chaque exemple, de la même sorte de probabilité ?
\[ P(pair)=\frac{cas\ favorables}{cas\ possibles}=\frac{3}{6}=\frac{1}{2} \]
The theory of chance consists in reducing all the events of the same kind to a certain number of cases equally possible, … The ratio of this number to that of all the cases possible is the measure of this probability, …
Limitation: cette définition est uniquement applicable aux situations dans lesquelles il n'y a qu'un nombre «fini» de résultats possibles équiprobables…
Peut-on le généraliser au cas infini dénombrable ?
Chaque fois qu'il n'y a pas de preuve en faveur d'une possibilité plutôt qu'une autre, elles ont la même probabilité.
Les probabilités classiques reposent sur ce principe
Si dans un jeu TV un participant fait face à 3 portes dont l'une renferme un prix, il est raisonnable de penser que la probabilité que le prix se trouve derrière chacune d'elles est de \( 1/3 \).
On ne peut pas assicier une probabilité non nulle à tous les événements !!!
La théorie classique peut être maintenue lorsqu'il existe une infinité d'événement, en faisant appel au principe théorique de l'information de l'entropie maximale, une généralisation du principe de l'indifférence défendu par Jaynes (1968).
L'entropie est une mesure du manque d'“ informativité ” d'une fonction de probabilité :
exemple (Van Fraassen 1989):
Question équivalente
Un même événement a deux probabilités différentes !!!
La condition d'invariance de Jaynes : des propositions équivalentes ont des probabilités égales.
Le problème des probabilités classiques : elles ne prennent pas en compte les observations.
Pour résoudre ce problème on introduit la notion de fréquence d'occurrence :
the probability of an attribute A in a finite reference class B is the relative frequency of actual occurrences of A within B.
Cette interprétation impose aue l'on puisse compter le nombre d'essais et donc qu'il soit fini.
\( \longrightarrow \) le problème du cas unique
Que dire d'une pièce que l'on aurait lancée 10 fois pour obtenir 10 faces !!!
Pour régler ce problème on considère des suite infinie d'essais.
\( \longrightarrow \) on perd le caractère empirique
L'interprétation fréquentiste postule que, à long-terme (i.e., quand le nombre d'essais s'approche de l'infini), la fréquence relative va converger exactement vers ce qu'on appelle probabilité.
\[ P(x)=\lim_{n_{t} \to \infty}\frac{n_{x}}{n_{t}} \]
Conséquence: le concept de probabilité s'applique uniquement aux collectifs, et non aux événéments singuliers.
library(tidyverse)
set.seed(1234)
sample(c(0, 1), 500, replace = TRUE) %>%
data.frame %>%
mutate(x = seq_along(.), y = cumsum(.) / seq_along(.) ) %>%
ggplot(aes(x = x, y = y), log = "y") +
geom_line(lwd = 1) +
geom_hline(yintercept = 0.5, lty = 3) +
xlab("nombre de lancers") +
ylab("proportion de faces") +
ylim(0, 1) +
theme_bw(base_size = 20)
Quelle classe de référence ?
Quid des événements qui ne peuvent pas se répéter ?
À partir de combien de lancers (d'une pièce par exemple) a-t-on une bonne approximation de la probabilité ?
Les propriétés fréquentistes (i.e., à long terme) des objets (e.g., une pièce) seraient provoquées par des propriétés physiques intrinsèques aux objets. Par exemple, une pièce biaisée va engendrer une fréquence relative (et donc une probabilité) biaisée en raison de ses propriétés physiques. Pour les propensionnistes, les probabilités représentent ces caractéristiques intrinsèques, ces propensions à générer certaines fréquences relatives, et non les fréquences relatives en elles-mêmes.
Conséquence: ces propriétés sont les propriétés d'événements individuels… et non de séquences !
L'interpétation propensionniste nous permet donc de parler de la probabilité d'événements uniques.
Conclusion 1: l'étudiant tiré au sort porte un t-shirt ✔
Conclusion 2: l'étudiant tiré au sort porte un t-shirt vert ✗
Conclusion 3: l'étudiant tiré au sort porte un t-shirt rouge ✗
L'interprétation logique du concept de probabilité essaye de généraliser la logique (vrai / faux) au monde probabiliste. La probabilité représente donc le degré de support logique qu'une conclusion peut avoir, relativement à un ensemble de prémices (Keynes, 1921; Carnap, 1950).
Conséquence: toute probabilité est conditionnelle.
La probabilité est une mesure du degré d'incertitude.
Pour parler de probabilités, dans ce cadre, nous n'avons donc plus besoin de nous référer à la limite d'occurrence d'un événement (fréquence).
So to assign equal probabilities to two events is not in any way an assertion that they must occur equally often in any random experiment […], it is only a formal way of saying I don’t know (Jaynes, 1986).
Probabilité epistémique
- toute probabilité est conditionnelle à de l'information disponible (e.g., prémices ou données)
- la probabilité comme moyen de quantifier l'incertitude
- probabilité logique, probabilité bayésienne
Probabilité physique
- les probabilités dépendent d'un état du monde, de caractéristiques physiques, elles sont indépendantes de l'information disponible (ou de l'incertitude)
- probabilité classique, probabilité fréquentiste
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Une suite de nombres au hasard…
[1] 79 27 98 28 42
runif, rnorm, rbinom...
RNGkind()[1] # default random number generator
[1] "Mersenne-Twister"
Inventé par Makoto Matsumoto et Takuji Nishimura en 1997, le Mersenne Twister est un générateur de nombres pseudo-aléatoires (PRNG). L'algorithme Mersenne-Twister est le PRNG par défaut en Python, Ruby, R, PHP, Matlab…
\[ Y_{i} \sim \mathrm{Uniform}(10,100) \]
set.seed(666)
as.integer(runif(5, 10, 100) )
[1] 79 27 98 28 42
Si je connais la graine d'origine (i.e., le “départ” de l'algorithme) et le fonctionnement précis de l'algorithme, je peux prédire les nombres qui vont être générés. Il sera alors difficile de soutenir que ces nombres auront été générés “au hasard”…
[1] 79 27 98 28 42 76
[1] 79 27 98 28 42 76 98
\( \longrightarrow \) Génération de données fictives
“Le hasard est un concept indiquant l'aspect aléatoire des choses, des événements ou encore des décisions, signalant ainsi l'impossibilité de prévoir avec certitude un fait quelconque. Ainsi, pour éclairer le sens du mot, il peut-être dit que le hasard est synonyme d'« imprévisibilité », ou « imprédictibilité »” (Wikipédia).
Ce que nous appelons hasard n’est et ne peut être que la cause ignorée d’un effet connu. – Voltaire
Le hasard, ce sont les lois que nous ne connaissons pas. – Émile Borel
Randomness is a proxy for lack of knowledge. – Richard McElreath
Le hasard apparait donc comme un état subjectif d'indétermination des causes. Pour parler de l'incertain (i.e., pour quantifier l'incertitude), on utilise les probabilités comme langage.
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Exemple 1
Exemple 2
Exemple 3
affirmation du conséquent : \( \dfrac{A \Rightarrow B, \ B}{A} \)
Si il a plu, alors le sol est mouillé (A implique B). Le sol est mouillé (B). Donc il a plu (A).
négation de l'antécédent : \( \dfrac{A \Rightarrow B, \ \neg A}{\neg B} \)
Si il a plu, alors le sol est mouillé (A implique B). Il n'a pas plus (non A). Donc le sol n'est pas mouillé (non B).
modus ponens : \( \dfrac{A \Rightarrow B, \ A}{B} \)
Si on est lundi, alors John va au travail (A implique B). On est lundi (A). Donc John va au travail (B).
modus tollens : \( \dfrac{A \Rightarrow B, \ \neg B} {\neg A} \)
Si mon chien détecte un intru, alors il aboie (A implique B). Mon chien n'a pas aboyé (non B). Donc il n'a pas détecté d'intrus (non A).
Le modus tollens est un des raisonnements logiques les plus importants et les plus performants.
L'inférence logique est le fondement de la démarche scientifique
“Si \( H_{0} \) est vraie, alors \( x \) ne devrait pas se produire. On observe \( x \). Alors \( H_{0} \) est fausse”.
On peut remarquer l'absence d'hypothèse alternative.
C'est le principe de falcification.
Dans presque tous les cas d'enquête empirique, nous ne sommes pas certains dans nos prémisses, bruit, erreurs…
“Si \( H_{0} \) est vraie, alors \( x \) est peu probable. On observe \( x \). Alors \( H_{0} \) est peu probable.”
La falcification s'applique pas au monde probabiliste
(e.g., Pollard & Richardson, 1987; Rouder, Morey, Verhagen, Province, & Wagenmakers, 2016).
Par exemple:
Le problème réside dans le fait qu'il n'y a pas d'alternative à l'hypothèse “un individu est un homme”
On s'intéresse au lien entre deux variables aléatoires continues, \( x \) et \( y \).
L'hypothèse de modélisation la plus simple est de postuler une relation linéaire.
Cette description peut-être améliorée pour mieux prendre en compte les données qui s'écartent de la prédiction linéaire.
Un ensemble de \( N \) points peut être exhaustivement (sans erreur) décrit par une fonction polynomiale d'ordre \( N-1 \). Augmenter la complexité du modèle améliore donc la précision de notre description des données mais réduit la généralisabilité de ses prédictions (bias-variance tradeoff).
Nous avons besoin d'outils qui prennent en compte le rapport qualité de la description / complexité, c'est à dire la parcimonie des modèles (e.g., AIC, WAIC).
Besoin d'un cadre pour développer des modèles cohérents. Nos outils:
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Imaginons que nous disposions d'un sac contenant 4 billes. Ces billes peuvent être soit blanches, soit bleues. Nous savons qu'il y a précisémment 4 billes, mais nous ne connaissons pas le nombre de billes de chaque couleur.
Nous savons cependant qu'il existe cinq possibilités (que nous considérerons comme nos hypothèses):
⚪ ⚪ ⚪ ⚪
🔵 ⚪ ⚪ ⚪
🔵 🔵 ⚪ ⚪
🔵 🔵 🔵 ⚪
🔵 🔵 🔵 🔵
Le but est de déterminer quelle combinaison serait la plus probable, sachant certaines observations. Imaginons que l'on tire trois billes à la suite, avec remise, et que l'on obtienne la séquence suivante:
🔵 ⚪ 🔵
Cette séquence représente nos données. À partir de là, quelle inférence peut-on faire sur le contenu du sac ? En d'autres termes, que peut-on dire de la probabilité de chaque hypothèse ?
⚪ ⚪ ⚪ ⚪
🔵 ⚪ ⚪ ⚪
🔵 🔵 ⚪ ⚪
🔵 🔵 🔵 ⚪
🔵 🔵 🔵 🔵
hypothèse: 🔵 ⚪ ⚪ ⚪ données: 🔵
hypothèse: 🔵 ⚪ ⚪ ⚪ données: 🔵 ⚪
hypothèse: 🔵 ⚪ ⚪ ⚪ données: 🔵 ⚪ 🔵
hypothèse: 🔵 ⚪ ⚪ ⚪ données: 🔵 ⚪ 🔵
Sous cette hypothèse, \( 3 \) chemins (sur \( 4^{3}=64 \)) conduisent au résultat obtenu. Qu'en est-il des autres hypothèses?
⚪ ⚪ ⚪ 🔵 ⚪ 🔵 🔵 🔵 ⚪ ⚪ 🔵 🔵
🔵 🔵 🔵 ⚪
Au vu des données, cette hypothèse est la plus probable car c'est l'hypothèse qui maximise le nombre de manières possibles d'obtenir les données obtenues.
| Hypothèse | Façons d'obtenir les données |
|---|---|
| ⚪ ⚪ ⚪ ⚪ |
0 x 4 x 0 = 0 |
🔵 ⚪ ⚪ ⚪ |
1 x 3 x 1 = 3 |
🔵 🔵 ⚪ ⚪ |
2 x 2 x 2 = 8 |
🔵 🔵 🔵 ⚪ |
3 x 1 x 3 = 9 |
🔵 🔵 🔵 🔵 |
4 x 0 x 4 = 0 |
Dans le cas précédent, nous avons considéré que toutes les hypothèses étaient équiprobables a priori (suivant le principe d'indifférence). Cependant, on pourrait avoir de l'information a priori, provenant de nos connaissances (des particularités des sacs de billes par exemple) ou de données antérieures.
Imaginons que nous tirions une nouvelle bille du sac, comment incorporer cette nouvelle donnée ?
Il suffit d'appliquer la même stratégie que précédemment, et de mettre à jour le dernier compte en le multipliant par ces nouvelles données. Yesterday's posterior is today's prior (Lindley, 2000).
| Hypothèse | Façons de produire 🔵 |
Compte précédent | Nouveau compte |
|---|---|---|---|
⚪ ⚪ ⚪ ⚪ |
0 | 0 | 0 x 0 = 0 |
🔵 ⚪ ⚪ ⚪ |
1 | 3 | 3 x 1 = 3 |
🔵 🔵 ⚪ ⚪ |
2 | 8 | 8 x 2 = 16 |
🔵 🔵 🔵 ⚪ |
3 | 9 | 9 x 3 = 27 |
🔵 🔵 🔵 🔵 |
4 | 0 | 0 x 4 = 0 |
Supposons maintenant qu'un employé de l'usine de fabrication des billes nous dise que les billes bleues sont rares… Cet employé nous dit que pour chaque sac contenant 3 billes bleues, ils fabriquent deux sacs en contenant seulement deux, et trois sacs en contenant seulement une. Il nous apprend également que tous les sacs contiennent au moins une bille bleue et une bille blanche…
| Hypothèse | Compte précédent |
Prior usine | Nouveau compte |
|---|---|---|---|
⚪ ⚪ ⚪ ⚪ |
0 | 0 | 0 x 0 = 0 |
🔵 ⚪ ⚪ ⚪ |
3 | 3 | 3 x 3 = 9 |
🔵 🔵 ⚪ ⚪ |
16 | 2 | 16 x 2 = 32 |
🔵 🔵 🔵 ⚪ |
27 | 1 | 27 x 1 = 27 |
🔵 🔵 🔵 🔵 |
0 | 0 | 0 x 0 = 0 |
La plausiblité d'une hypothèse après avoir observé certaines données est proportionnelle au nombre de façons qu'a cette hypothèse de produire les données observées, multiplié par sa plausibilité a priori.
\[ p(hypothesis|data)\propto p(data|hypothesis) \times p(hypothesis) \]
Pour passer des plausibilités aux probabilités, il suffit de standardiser ces plausibilités pour que la somme des plausibilités de toutes les hypothèses possibles soit égale à \( 1 \).
\[ p(hypothesis|data) = \frac{p(data|hypothesis) \times p(hypothesis)}{sum\ of\ products} \]
Définissons \( p \) comme la proportion de billes bleues.
| Hypothèse | p | Manières de produire les données | Plausibilité |
|---|---|---|---|
| ⚪ ⚪ ⚪ ⚪ | 0 | 0 | 0 |
| 🔵 ⚪ ⚪ ⚪ | 0.25 | 3 | 0.15 |
| 🔵 🔵 ⚪ ⚪ | 0.5 | 8 | 0.40 |
| 🔵 🔵 🔵 ⚪ | 0.75 | 9 | 0.45 |
| 🔵 🔵 🔵 🔵 | 1 | 0 | 0 |
ways <- c(0, 3, 8, 9, 0)
ways / sum(ways)
[1] 0.00 0.15 0.40 0.45 0.00
\[ \color{purple}{p(\theta \vert x)} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{p(x)}} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{\sum\limits_{\theta}p(x|\theta)p(\theta)}} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{\int\limits_{\theta}p(x|\theta)p(\theta)\mathrm{d}x}} \propto \color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)} \]
Dans ce cadre, pour chaque problème, nous allons suivre 3 étapes:
Bayesian inference is really just counting and comparing of possibilities […] in order to make good inference about what actually happened, it helps to consider everything that could have happened (McElreath, 2015).
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Une fonction de masse (probability mass function, ou PMF) est une fonction qui attribue une probabilité à chaque valeur d'une variable aléatoire. Exemple de la distribution binomiale pour une pièce non biaisée (\( \theta=0.5 \)).
dbinom(x = 0:10, size = 10, prob = 0.5) %>% sum
[1] 1
Une densité de probabilité (probability density function, ou PDF), est une fonction qui permet de représenter une loi de probabilité sous forme d'intégrales.
integrate(dnorm, -Inf, Inf, mean = 100, sd = 15)
1 with absolute error < 1.3e-06
Une intégrale correspond à la surface (aire géométrique) délimitée par la représentation graphique d'une fonction, l'aire sous la courbe. Une distribution est dite impropre si son intégrale n'est pas égale à un nombre fini (e.g., \( + \infty \)), et normalisée si son intégrale est égale à 1.
L'intégrale de \( f(x) \) sur l'intervalle [90 ; 96] vaut: \( \int_{90}^{96} f(x) \ \mathrm{d}x = 0.142 \).
integrate(dnorm, 90, 96, mean = 100, sd = 15)
0.1423704 with absolute error < 1.6e-15
library(tidyverse)
data(HairEyeColor) # data adapted from Snee (1974)
cont <- apply(HairEyeColor, c(1, 2), sum) %>% t
cont <- round(cont / sum(cont), 2)
cont
Hair
Eye Black Brown Red Blond
Brown 0.11 0.20 0.04 0.01
Blue 0.03 0.14 0.03 0.16
Hazel 0.03 0.09 0.02 0.02
Green 0.01 0.05 0.02 0.03
Dans chaque cellule, on trouve la probabilité conjointe d'avoir telle couleur de cheveux ET telle couleur d'yeux, qui s'écrit \( p(c,y)=p(y,c) \).
cont2 <- cont %>% as.data.frame %>% mutate(marginal_eye = rowSums(cont) )
rownames(cont2) <- row.names(cont)
cont2
Black Brown Red Blond marginal_eye
Brown 0.11 0.20 0.04 0.01 0.36
Blue 0.03 0.14 0.03 0.16 0.36
Hazel 0.03 0.09 0.02 0.02 0.16
Green 0.01 0.05 0.02 0.03 0.11
On peut aussi s'intéresser à la probabilité d'avoir des yeux bleus, de manière générale. Il s'agit de la probabilité marginale de l'événement yeux bleus, qui s'obtient par la somme de toutes les probabilités jointes impliquant l'évenement yeux bleus. Elle s'écrit \( p(y)=\sum\limits_{c}p(y|c)p(c) \).
cont3 <- rbind(cont2, colSums(cont2) )
rownames(cont3) <- c(row.names(cont2), "marginal_hair")
cont3
Black Brown Red Blond marginal_eye
Brown 0.11 0.20 0.04 0.01 0.36
Blue 0.03 0.14 0.03 0.16 0.36
Hazel 0.03 0.09 0.02 0.02 0.16
Green 0.01 0.05 0.02 0.03 0.11
marginal_hair 0.18 0.48 0.11 0.22 0.99
On peut bien entendu aussi s'intéresser aux probabilités des couleurs de cheveux, de manière générale. Elle s'écrit \( p(c)=\sum\limits_{y}p(c|y)p(y) \).
On pourrait aussi s'intéresser à la probabilité qu'une personne ait les cheveux blonds, sachant qu'elle a les yeux bleus. Il s'agit d'une probabilité conditionnelle, et s'écrit \( p(c|y) \). Cette probabilité conditionnelle peut se ré-écrire: \( p(c|y)= \frac{p(c,y)}{p(y)} \).
Black Brown Red Blond marginal_eye
Blue 0.03 0.14 0.03 0.16 0.36
Par exemple, quelle est la probabilité d'avoir des yeux bleus lorsqu'on a les cheveux blonds ?
cont3["Blue", "Blond"] / cont3["Blue", "marginal_eye"]
Blue
0.4444444
On remarque dans le cas précédent que \( p(blonds|bleus) \) n'est pas nécessairement égal à \( p(bleus|blonds) \).
Autre exemple: la probabilité de mourir sachant qu'on a été attaqué par un requin n'est pas la même que la probabilité d'avoir été attaqué par un requin, sachant qu'on est mort.
De la même manière, \( p(data~|~H_{0}) \neq p(H_{0}~|~data) \) -> “confusion of the inverse”.
A partir des axiomes de Kolmogorov (cf. début du cours), et des définitions précédentes des probabilités conjointes, marginales, et conditionnelles, découle la règle du produit:
\[ p(a,b)=p(b)p(a|b)=p(a)p(b|a) \]
\[ p(x,y) = p(x|y)p(y) = p(y|x)p(x) \]
\[ p(y|x)p(x) = p(x|y)p(y) \]
\[ p(y|x) = \dfrac{p(x|y)p(y)}{p(x)} \]
\[ p(x|y) = \dfrac{p(y|x)p(x)}{p(y)} \]
\[ p(hypothesis|data) = \frac{p(data|hypothesis) \times p(hypothesis)}{sum\ of\ products} \]
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
Chez les femmes âgées de 40-50 ans, sans antécédents familiaux et sans symptômes, la probabilité d'avoir un cancer du sein est de .008.
Propriétés de la mammographie:
Imaginons qu'une femme passe une mammographie, et que le test est positif. Que doit-on inférer ? Quelle est la probabilité que cette femme ait un cancer du sein ?
Fundamentals of Machine Learning (Part 2),
William Fleshman.
Si une femme a un cancer du sein, la probabilité d'obtenir un résultat positif est de .90
Si une femme n'a pas de cancer du sein, la probabilité d'obtenir un résultat positif est de .07
Une femme passe une mammographie, le résultat est positif…
ML: quelle est la valeur de Cancer qui maximise \( Mam=+ \) ?
\[ p(Cancer=+|Mam=+)=\frac{7}{7+69}=\frac{7}{76}\approx.09 \]
\[ \color{purple}{p(\theta \vert x)} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{p(x)}} \]
\( \color{steelblue}{p(\theta)} \) la probabilité a priori de \( \theta \): tout ce qu'on sait de \( \theta \) avant d'observer les données. Par exemple: \( p(Cancer=+)=.008 \) et \( p(Cancer=-)=.992 \).
prior <- c(0.008, 0.992)
\[ \color{purple}{p(\theta \vert x)} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{p(x)}} \]
\( \color{orangered}{p(x\vert \theta)} \) probabilité conditionnelle des données (\( x \)) sachant le paramètre (\( \theta \)), qu'on appelle aussi la likelihood (ou fonction de vraissemblance) du paramètre (\( \theta \)).
like <- rbind(c(0.9, 0.1), c(0.07, 0.93) ) %>% data.frame
colnames(like) <- c("Mam+", "Mam-")
rownames(like) <- c("Cancer+", "Cancer-")
like
Mam+ Mam-
Cancer+ 0.90 0.10
Cancer- 0.07 0.93
\[ \color{purple}{p(\theta \vert x)} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{p(x)}} \]
\( p(x) \) la probabilité marginale de \( x \) (sur \( \theta \)). Sert à normaliser la distribution.
\[ \color{green}{p(x)=\sum\limits_{\theta}p(x|\theta)p(\theta)} \]
(marginal <- sum(like$"Mam+" * prior) )
[1] 0.07664
\[ \color{purple}{p(\theta \vert x)} = \dfrac{\color{orangered}{p(x\vert \theta)} \color{steelblue}{p(\theta)}}{\color{green}{p(x)}} \]
\( \color{purple}{p(\theta \vert x)} \) la probabilité a posteriori de \( \theta \) sachant \( x \), c'est à dire ce qu'on sait de \( \theta \) après avoir pris connaissance de \( x \).
(posterior <- (like$"Mam+" * prior ) / marginal )
[1] 0.09394572 0.90605428
Avant de passer le mammogramme, la probabilité qu'une femme tirée au sort ait un cancer du sein était de \( p(Cancer)=.008 \) (prior).
Après un résultat positif, cette probabilité est devenue \( p(Cancer|Mam+)=.09 \) (posterior).
Ces probabilités sont des expressions de nos connaissances. Après un mammogramme positif, on pense toujours que c'est “très improbable” d'avoir un cancer, mais cette probabilité a considérablement évolué relativement à “avant le test”.
A Bayesianly justifiable analysis is one that treats known values as observed values of random variables, treats unknown values as unobserved random variables, and calculates the conditional distribution of unknowns given knowns and model specifications using Bayes’ theorem (Rubin, 1984).
Cours 1: Introduction à l'inférence bayésienne
Cours 2: Modèle beta-binomial
Cours 3 : Modèle linéaire à 1 prédicteur continu
Cours 4 : Modèle linéaire multivarié
Cours 5: Markov Chain Monte Carlo
Cours 6: Modèle linéaire généralisé
Cours 7: Comparaison de modèles
Cours 8: Prédicteurs catégoriels et Interactions
Cours 9: Modèles multi-niveaux
Cours 10: Data Hackaton
On dispose de trois hypothèses dont on connait la distribution a priori:
A: la voiture se trouve derrière la porte 1
B: la voiture se trouve derrière la porte 2
C: la voiture se trouve derrière la porte 3
| Hypothèse | Prior p(H) | Likelihood \( p(D~|~H) \) | \( p(H)p(D~|~H) \) | Posterior \( p(H~|~D) \) |
|---|---|---|---|---|
| A | 1/3 | |||
| B | 1/3 | |||
| C | 1/3 |
On sait que la porte trois est ouverte et qu'elle renferme une chèvre ! En termes de likelihood :
| Hypothèse | Prior p(H) | Likelihood \( p(D~|~H) \) | \( p(H)p(D~|~H) \) | Posterior \( p(H~|~D) \) |
|---|---|---|---|---|
| A | 1/3 | ½ | ||
| B | 1/3 | 1 | ||
| C | 1/3 | 0 |
On obtient le résultat suivant :
| Hypothèse | Prior p(H) | Likelihood \( p(D~|~H) \) | \( p(H)p(D~|~H) \) | Posterior \( p(H~|~D) \) |
|---|---|---|---|---|
| A | 1/3 | ½ | 1/6 | 1/3 |
| B | 1/3 | 1 | 1/3 | 2/3 |
| C | 1/3 | 0 | 0 | 0 |
Nos intuitions probabilistes sont, dans la grande majorité des cas, très mauvaises. Au lieu de compter sur elles, il est plus sage de se reposer sur des règles logiques (modus ponens et modus tollens) et probabilistes simples (règle du produit, règle de la somme, théorème de Bayes), nous assurant de réaliser l'inférence logique la plus juste.
Autrement dit, “Don't be clever” (McElreath, 2015).